Higher-order type-level programming in Haskell
نویسندگان
چکیده
منابع مشابه
Lightweight Higher-Order Rewriting in Haskell
We present a generic Haskell library for expressing rewrite rules with a safe treatment of variables and binders. Both sides of the rules are written as typed EDSL expressions, which leads to syntactically appealing rules and hides the underlying term representation. Matching is defined as an instance of Miller’s pattern unification, which makes for efficient execution when rules are applied in...
متن کاملType Safe Redis Queries: A Case Study of Type-Level Programming in Haskell
Redis is an in-memory data structure store, often used as a database, with a Haskell interface Hedis. Redis is dynamically typed — a key can be discarded and re-associated to a value of a different type, and a command, when fetching a value of a type it does not expect, signals a runtime error. We develop a domain-specific language that, by exploiting Haskell type-level programming techniques i...
متن کاملImplementing Type Theory in Higher Order Constraint Logic Programming
In this paper we are interested in high-level programming languages to implement the core components of an interactive theorem prover for a dependently typed language: the kernel — responsible for type-checking closed terms — and the elaborator — that manipulates terms with holes or, equivalently, partial proof terms. In the first part of the paper we confirm that λProlog, the language develope...
متن کاملHigher Order Imperative Programming
It is argued that a programming style based on higher order techniques the use of procedures that have other procedures as arguments and or results can be most e ectively employed if it is driven by abstraction from real algorithms rather than attempting to work with a xed set of functional forms and the use of imperative forms and mutative procedures is permitted even encour aged rather than r...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Proceedings of the ACM on Programming Languages
سال: 2019
ISSN: 2475-1421
DOI: 10.1145/3341706